<html>

<head>
  <title>WebSocket</title>
</head>

<body>

<div>默认用户id：xiaoyou001（后期可以根据业务逻辑替换）</div>
<br /><input id="text" type="text" />
<input placeholder="请输入接收人的用户id" id="sendUserId"></input>
<button onclick="send()">发送消息</button>
<br />

<button onclick="closeWebSocket()">关闭WebSocket连接</button>
<div id="message"></div>
</body>

<script type="text/javascript">
  var websocket = null;


  // var userId = "xiaoyou001"

  //判断当前浏览器是否支持WebSocket
  if ('WebSocket' in window) {
    // 后台给的地址
    websocket = new WebSocket("ws:127.0.0.1:1218/v1/websocket");
  }
  else {
    alert('当前浏览器不支持websocket哦！')
  }

  //连接发生错误的回调方法
  websocket.onerror = function () {
    setMessageInnerHTML("WebSocket连接发生错误");
  };

  //连接成功建立的回调方法
  websocket.onopen = function () {
    setMessageInnerHTML("WebSocket连接成功");
  }

  //接收到消息的回调方法
  websocket.onmessage = function (event) {
    setMessageInnerHTML(event.data);
  }

  //当客户端收到服务端发送的关闭请求时,触发onclose时间
  websocket.onclose = function () {
    setMessageInnerHTML("WebSocket连接关闭");
  }

  //监听窗口关闭事件，当窗口关闭时，主动去关闭websocket连接，防止连接还没断开就关闭窗口，server端会抛异常。
  window.onbeforeunload = function () {
    closeWebSocket();
  }

  //将消息显示在网页上
  function setMessageInnerHTML(sendMessage) {
    document.getElementById('message').innerHTML += sendMessage + '<br/>';
  }

  //关闭WebSocket连接
  function closeWebSocket() {
    websocket.close();
  }

  //发送消息
  function send() {
    var message = document.getElementById('text').value;//要发送的消息内容

    if (message == "") {
      alert("发送信息不能为空！")
      return;
    } //获取发送人用户id
    var sendUserId = document.getElementById('sendUserId').value;
    if (sendUserId == "") {
      alert("发送人用户id不能为空！")
      return;
    }
    userId="zsg"
    document.getElementById('message').innerHTML += (userId + "给" + sendUserId + "发送消息,消息内容为---->>" + message + '<br/>');
    message = message + "," + sendUserId//将要发送的信息和内容拼起来，以便于服务端知道消息要发给谁

    let send={}
    send["cmdType"]=2
    send["cmdData"]=[]
    send["cmdAction"]="add"
    cmdData={}
    cmdData["podName"]="podName"
    cmdData["PodImage"]="podImage"
    send["cmdData"]=cmdData
    s=JSON.stringify(send)
    websocket.send(s);
  }
</script>

</html>